1.14.7 后端部署-镜像方式
1.说明:
部署机器环境要求: 系统: linux, 建议centos7.0+
硬盘: 空余空间2G以上
CPU:2核以上
内存: 4G以上
软件: 安装docker, 版本19.03.13+, 可查看下方的FAQ
端口: 部署容器启动时需要映射宿主机80,3306,8082,9092,58081,58082,58083,57070(仅客服版),59092端口, 若主机有开nginx,mysql等服务, 请先 停止相关服务
2.部署步骤:
2.1 部署
# 项目路径
cd /opt/echat
# 使用以下任意一种方式导入或编译docker 镜像
# 方式一: 导入已编译好的镜像
docker load -i echatdeploy-professional:v1.00
# 方式二: 编译部署镜像(已编译好镜像的可不用)
./main.sh build
# 修改为部署目标机器的公网IP或域名, 若其它外部端口已被占用, 更改为没有被占用的端口
vim main.sh # 修改 NEW_HOST_BASE_URL,NEW_HOST_WS_URL,NEW_HOST_ADMIN_BASE_URL为你的机器的公网IP或域名
# 启动部署镜像
./main.sh start
# 关闭部署镜像
./main.sh stop
2.2 使用
移动网页端H5: 访问 http://{主机IP}
网页端1.0版: 访问 http://{主机IP}:58081
客服前端: 访问 http://{主机IP}:57070/csvc_pc_customer, http://{主机IP}:57070/csvc_mobile_customer
安卓端: 访问 http://{主机IP}/downloads/app/
客服PC端: 访问 http://{主机IP}/downloads/staff_win32.zip
管理台: 访问 http://{主机IP}:58083
后台: 访问 http://{主机IP}:58082/swagger-ui.html
3.部署环境说明:
3.1 端口关系(容器内)
名称 | 端口 | |
---|---|---|
echat后端http | 8082,58082 | |
echat后端socket.io | 9092,59092 | |
echat h5 | 58080 | |
echat web1.0 | 58081 | |
echat 客服顾客页面 | 57070 | |
echat_admin前端 | 58083 | |
echat_admin后端 | 58083,8083 |
3.2 项目部署目录(容器内)
名称 | 目录 | |
---|---|---|
echat后端 | /opt/backend/echat | |
echat_admin后端 | /opt/backend/admin | |
echat前端H5 | /opt/html/demo | |
echat web端1.0 | /opt/html/demo_web | |
echat_admin前端 | /opt/html/admin | |
echat_客服顾客页面 | /opt/html/csvc | |
echat安卓 | /opt/html/demo/downloads |
4.初始化数据
4.1 初始化管理台登录用户等基础数据
# 获取部署的容器id
docker ps -a | grep echatdeploy-professional
# 以交互方式进入容器
docker exec -it {容器ID} /bin/bash
# 登录mysql client shell
mysql -uroot -proot
# 刷入以下初始化init.sql (分别是:1.设置系统的过期时间;2.加入管理台登录用户; 3.加入手机测试验证码)
UPDATE `echat`.`sdk_app` SET `expire_date` = '2029-09-30 10:32:35' WHERE `id` = 1;
INSERT INTO `echat`.`sdk_user`(`id`, `name`, `email`, `phone`, `password`, `role`, `create_time`) VALUES (1, 'admin', 'yourname@qq.com', NULL, 'EA10666CC9CB58AA830166822D848DFD', 'ADMIN', '2021-08-17 17:37:51');
INSERT INTO `echat`.`validated_code`(`id`, `mobile`, `business`, `code`, `expire_time`, `status`, `create_time`, `sdk_id`) VALUES (1, NULL, NULL, '8888', '2029-08-25 21:54:29', NULL, '2021-08-25 21:54:51', 1);